from selenium import webdriver
import time
import os
import unittest


# 一个TestCase的实例就是一个测试用例。
# 测试用例就是一个完整的测试流程，
# 包括测试前准备环 境的搭建（setUp）、
# 实现测试过程的代码，
# 以及测试后环境的还原（tearDown）。
# 单元测试 （unit test）的本质就在这里，
# 一个测试用例就是一个完整的测试单元，
# 可以对某一个功能进行验
# 证。
class Baidu1(unittest.TestCase):
# 测试固件
    def setUp(self):
        print("----setup----")
        self.driver = webdriver.Chrome()
        self.url = "https://www.baidu.com/"
        self.driver.maximize_window()
        time.sleep(3)

    def tearDown(self):
        print("----tearDown----")
        self.driver.quit()

# 测试用例
# 忽略测试用例的执行
# @unittest.skip("skipping")
# 意思是跳过这个测试用例
    def test_hao(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_link_text("hao123")
        time.sleep(3)

    def test_baidu(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        # 断言
        self.assertTrue("百度一下，你就知道" == driver.title,msg="不一致！！！")
        driver.find_element_by_id("kw").send_keys("面纱")
        driver.find_element_by_id("su").submit()
        time.sleep(3)
        print(driver.title)
        time.sleep(3)

    #
    def saveScreenPhoto(self,driver,file_name):
        if not os.path.exists("./image"):
            os.makedirs("./image")
        now = time.strftime("%Y%m%d-%H%M%S", time.localtime(time.time()))
        driver.get_screenshot_as_file("./image/" + now + "-" + file_name)
        time.sleep(3)

    if __name__ == "__main__":
        unittest.main()


